package cn.shujuhai.meeting.service;

import cn.shujuhai.common.pluging.data.ResultVo;
import cn.shujuhai.meeting.domain.MeetingRooms;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDateTime;

/**
 * @author 4g0
 * @description 针对表【meeting_rooms(会议室管理表，用于存储会议室的基本信息和状态)】的数据库操作Service
 * @createDate 2025-04-08 09:39:11
 */
public interface MeetingRoomsService extends IService<MeetingRooms> {

    ResultVo<PageInfo<MeetingRooms>> getMeetingRoomsPageInfo(String roomName, String capacity, Long departmentId, Integer page, Integer pageSize);

    ResultVo<?> add(MeetingRooms meetingRooms);

    ResultVo<MeetingRooms> edit(MeetingRooms meetingRooms);

    ResultVo<MeetingRooms> removeId(Integer roomId);

    void updateMeetingRoomStatus(Integer roomId, String newStatus);

    ResultVo<?> uploadImage(MultipartFile file);

    ResultVo<?> getMeetingRoomById(Long roomId);

    void scheduleRoom(Long roomId, LocalDateTime start, LocalDateTime end);

    ResultVo<?> meetCount(Integer pageNum, Integer pageSize);
}
